package com.example.backed.dto;

import lombok.Data;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class GroupBuyCreateDTO {
    /**
     * 商品ID
     */
    @NotNull(message = "商品ID不能为空")
    private Long productId;

    /**
     * 商品名称
     */
    @NotNull(message = "商品名称不能为空")
    private String productName;

    /**
     * 商品图片
     */
    @NotNull(message = "商品图片不能为空")
    private String productImage;

    /**
     * 原价
     */
    @NotNull(message = "原价不能为空")
    @DecimalMin(value = "0.01", message = "原价必须大于0")
    private BigDecimal originalPrice;

    /**
     * 团购价
     */
    @NotNull(message = "团购价不能为空")
    @DecimalMin(value = "0.01", message = "团购价必须大于0")
    private BigDecimal groupPrice;

    /**
     * 最低成团人数
     */
    @NotNull(message = "最低成团人数不能为空")
    @Min(value = 2, message = "最低成团人数必须大于等于2")
    private Integer minCount;

    /**
     * 每人限购数量
     */
    @NotNull(message = "限购数量不能为空")
    @Min(value = 1, message = "限购数量必须大于0")
    private Integer limitPerUser;

    /**
     * 开始时间
     */
    @NotNull(message = "开始时间不能为空")
    @Future(message = "开始时间必须是将来时间")
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @NotNull(message = "结束时间不能为空")
    @Future(message = "结束时间必须是将来时间")
    private LocalDateTime endTime;

    /**
     * 活动描述
     */
    @NotNull(message = "活动描述不能为空")
    private String description;
} 